From ca8b00e87192570541e33c9320167b1146457210 Mon Sep 17 00:00:00 2001 From: Christian Hergert Date: Wed, 2 Dec 2020 10:15:43 -0800 Subject: [PATCH] macos: specify a window level for surfaces --- gdk/macos/gdkmacossurface.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/gdk/macos/gdkmacossurface.c b/gdk/macos/gdkmacossurface.c index 2360e1c476..a081c818f6 100644 --- a/gdk/macos/gdkmacossurface.c +++ b/gdk/macos/gdkmacossurface.c @@ -505,6 +505,7 @@ _gdk_macos_surface_new (GdkMacosDisplay *display, { GdkFrameClock *frame_clock; GdkMacosSurface *ret; + NSInteger window_level = NSNormalWindowLevel; g_return_val_if_fail (GDK_IS_MACOS_DISPLAY (display), NULL); @@ -521,10 +522,12 @@ _gdk_macos_surface_new (GdkMacosDisplay *display, case GDK_SURFACE_POPUP: ret = _gdk_macos_popup_surface_new (display, parent, frame_clock, x, y, width, height); + window_level = NSPopUpMenuWindowLevel; break; case GDK_SURFACE_TEMP: ret = _gdk_macos_drag_surface_new (display, frame_clock, x, y, width, height); + window_level = NSPopUpMenuWindowLevel; break; default: @@ -533,7 +536,10 @@ _gdk_macos_surface_new (GdkMacosDisplay *display, } if (ret != NULL) - _gdk_macos_surface_monitor_changed (ret); + { + [ret->window setLevel:window_level]; + _gdk_macos_surface_monitor_changed (ret); + } g_object_unref (frame_clock); -- 2.30.2